<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
   	  <link rel="stylesheet" type="text/css" href="phyml+m3l.css">
      <TITLE>Phyesta: PhyML extended for simulated thermal annealing</TITLE>
   </HEAD>
      
<BODY>

<p><a href='http://www.uoregon.edu/~joet/'><small>Thornton Lab</small></a> | <a href='http://evolution.uoregon.edu/'><small>CEEB</small></a> | <a href='http://www.cs.uoregon.edu/'><small>CIS</small></a> | <a href='http://uoregon.edu/'><small>University of Oregon</small></a></p>


<img src="phyesta-logo.png" width="80%" alt="Phyesta logo goes here.">
<p>Phyesta (pronounced "fiesta") is <strong>Ph</strong>yML <strong>e</strong>xtended for <strong>s</strong>imulated <strong>t</strong>hermal <strong>a</strong>nnealing.</p>


<div class="divYellow">
<h2>Download Phyesta</h2>
<ul>

<!--
<li>
<h3>User Manual:</h3>
</li>

<p>
<a href="phyml+m3l_user_doc.pdf">
<img src="pdf_icon.png" width=64 border=0 align=center>
</a>
<a href="phyml+m3l_user_doc.pdf">User Manual - updated December 11th, 2009</a>, <em>PDF (1.2 MB)</em>
</p>
-->

<li>
<h3>Precompiled Binaries:</h3>
</li>
<p>
<a href="phyml-serial">
<img src="binary_icon.png" width=64 border=0 align=center>
</a>
<a href="phyesta">For Intel-based Macs</a>, <em>Unix application (935 K)</em>
</p>

</li>
<li>
<h3>Source Code:</h3>
</li>

<p>
<a href="phyesta_4.26.2010.zip">
<img src="pallete.png" width=64 border=0 align=center>
</a>
<a href="phyesta_4.26.2010.zip">Current stable release - updated April 26th, 2010</a>, <em>ZIP (11MB)</em>

<br>
<br>

<a href="http://code.google.com/p/m3l/source/checkout">
<img src="google_icon.png" width=64 border=0 align=center>
</a>
<a href="http://code.google.com/p/m3l/source/checkout">Go to the Google Code repository</a>
</p>

<p>
<small>
The source code is written in C.  Tested using the following software tools: <strong>gcc</strong> version 4.2.1 (Apple Inc. build 5574), with hardware target = i686-apple-darwin9.
<strong>aclocal</strong> version 1.10, <strong>GNU Make</strong> version 3.81, and <strong>GNU Autoconf</strong> version 2.61.
</small>
</p>

</ul>
</div>

<hr>
<h2>What is Phyesta?</h2>

Phyesta is an extension of the publicly-available source code for 
<a href="http://www.atgc-montpellier.fr/phyml/">PhyML version 3.0</a>. 
PhyML is a "simple, fast, and accurate algorithm to estimate 
large phylogenies by maximum likelihood" [see <a href="http://sysbio.oxfordjournals.org/cgi/content/abstract/52/5/696"> Guindon and Gascuel (2003)</a>]. 
We extended the PhyML source code to include several useful features: 

<ol>
<li>
Optimization by simulated thermal annealing
</li>
<p>
Traditional hill-climbing optimization algorithms can struggle to escape local
 optima when searching over extremely rugged multi-parameterized likelihood landscapes.
   By default, PhyML uses a hill-climbing algorithm based on 
   "Brent's Method" [see <a href="http://books.google.com/books?id=6Ay2biHG-GEC&printsec=frontcover&source=gbs_navlinks_s#v=onepage&q=&f=false">Brent (2002)</a>].  
   Although Brent's method seems to generally yield good results, the mixed branch length
    model can create rugged conditions in which hill-climbing seems to be ineffective.
</p>
<p>
As an alternative to hill-climbing methods, Phyesta provides a method to optimize 
the topology, branch lengths, and model parameters using simulated thermal annealing (STA) 
[see <a href="http://www.comp.nus.edu.sg/~cs5206/2009/Lectures/L13/KGV83-SA.pdf">Kirkpatrick (1983)</a>, 
<a href="http://www.springerlink.com/index/R8316332T1U15773.pdf">Kirkpatrick (1984)</a>, 
and <a href="http://mbe.oxfordjournals.org/cgi/content/abstract/25/6/1054">Kolaczkowski (2008)</a>].  Although STA can 
yield extremely excellent results, STA is computationally demanding and can require hours, 
days, (or longer!) to infer a likelihood maxima.  STA is provided here for experimental purposes.
</p>

<li>
A mixed branch length model of heterotachy
</li>
<p>
The mixed branch length model calculates the likelihood of phylogenies at 
each site in a given sequence alignment as a weighted sum over multiple 
independent branch length sets; weights and branch lengths can be inferred 
from the given sequence data 
[see <a href="http://mbe.oxfordjournals.org/cgi/content/short/25/6/1054">Kolaczkowski and Thornton (2008)</a>]. 
 Under most conditions, the mixed branch length model improves phylogenetic 
 accuracy compared to other homotachous and heterotachous models.  This model 
 should not be confused with other heterotachous models, such as the gamma model 
 [see <a href="http://www.springerlink.com/content/t7k1m86q68854142/">Yang (1994)</a>]
  or the covarion model [see <a href="http://www.springerlink.com/content/127etdjqcuahtg17/">Penny et al. (2001)</a>].  Unlike those models,
   the mixed branch length model relaxes the assumption that the ratio 
   of branch lengths remains constant across sites.
</p>

<li>
An empirical Bayes MCMC sampler to estimate posterior probabilities of clades
</li>

<p>
Posterior probability (PP) can be a useful metric to estimate the statistical support for the existence
of a phylogenetic clade.  However, simulation studies have shown that when PPs are estimated 
using a Bayesian MCMC strategy that integrates over branch length uncertainty, 
PPs can significantly diverge from their expected values had the branch lengths been known in advance.
Alternatively, an empirical Bayesian strategy that fixes branch lengths at their maximum likelihood values 
is more accurate at estimating the posterior probability of clades
[see <a href="http://mbe.oxfordjournals.org/cgi/content/abstract/24/9/2108">Kolaczkowski and Thornton (2007)</a> and <a href="http://www.plosone.org/article/info:doi%2F10.1371%2Fjournal.pone.0007891;jsessionid=80636B4A090E4C522565E7BD1CEBB4D6">Kolaczkowski and Thornton (2009)</a>].
</p>

<p>
Phylogenetic practicioners traditionally use the software package 
<a href="http://mrbayes.csit.fsu.edu/">Mr. Bayes</a> to perform MCMC sampling 
and compute posterior probabilities [see <a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/19/12/1572">Ronquist and Huelsenbeck (2003)</a>].
Unfortunately, Mr. Bayes does not support a sampling scheme 
in which we can calculate the ML value of branch lengths while integrating
 over uncertainty about other parameters.  Out of necessity, we 
 implemented such an empirical Bayes strategy in Phyesta.  Combined with 
 the previous features of PhyML, you can now use Phyesta as a single 
 tool to estimate bootstrap values, approximate likelihood ratio test (aLRT) 
 values, and posterior probability values.
</p>


</ol>
<p>
We hope you find Phyesta useful.  However, be aware that we do not have a large team
 of software developers.  We are providing this software as a resource to the research 
 community, but without the promise of support.  If you have questions, or find software bugs (!), 
 please do not hesitate to contact us.  We plan to release a new version of Phyesta in the very 
 near future, including <a href="http://www.mcs.anl.gov/research/projects/mpi/">MPI-based</a> parallelism (and some other cool speedups).
</p>

<hr>
<p><small>Last Modified: April 26th, 2010</small>
<br>
<small>by <a href="http://www.victorhansonsmith.com">Victor Hanson-Smith</a></small></p>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-12041494-1");
pageTracker._trackPageview();
} catch(err) {}</script>

</BODY>
</HTML>
